Redundant Arrays of Independent Disks (RAID) improve storage reliability and increase throughput. A RAID system combines multiple storage devices into a logical unit, and distributes data across the multiple storage devices. A number of standard RAID levels can be used for setting up a RAID system: such as RAID-0, RAID-1, RAID-2, RAID-3, RAID-4, RAID-5 and RAID-6. Each RAID level has a different requirement on data distribution and the use of parity.
Many current RAID systems use multiple solid-state disks (SSDs) as the underlying storage devices. SSDs retain persistent data in non-volatile solid-state memory chips and contain no moving parts. In contrast, conventional hard disk drives are electromechanical devices that contain spinning disks and movable read/write heads.
A RAID system can be used in a thin provisioning environment. Thin provisioning relies on on-demand allocation of data blocks instead of allocating all of the blocks up front. Thin provisioning enables over-allocation or over-subscription. In a computer system that supports thin provisioning, an operating system typically maintains an internal free list to keep track of the data blocks that are available for use. When a user deletes a file, the data blocks used by the file can be kept in the free list for reuse by other users. The use of the free list in the underlying SSDs prevents memory fragmentation, improves performance of the SSDs, and enhances a wear leveling mechanism inside the SSDs to further prolong the lifespan of the SSDs.
Due to the data distribution scheme and the use of parity in a RAID system, contiguous logical sectors used by a file can be broken down into non-contiguous physical sectors when mapped to physical sectors in a storage device. Generally, an operating system does not efficiently handle storage deallocation when logical sectors to be freed in a device are non-contiguous. Typically, each storage device needs to process multiple commands from the operating system for one file deletion operation. Thus, performance of the storage device can be degraded.